package com.tiancheng.trade.payment.channel.umsdhjt.request;

import lombok.Data;

import java.io.Serializable;

/**
 * @Author: kellen
 * @Description: 大华捷通结算结果通知
 * @Date: create in 2024/12/12 09:25
 */
@Data
public class UmsDhjtSettleNotifyRequest implements Serializable {
    /**
     * 正交易的商户号
     */
    private String transMid;
    /**
     * 提现日期
     */
    private String txnDate;
    /**
     * 推送时间
     */
    private String sendTime;
    /**
     * 签名结果
     */
    private String sign;
    /**
     * 数据内容
     */
    private UmsDhjtSettleNotifyBody data;

    @Data
    public static class UmsDhjtSettleNotifyBody {
        /**
         * 提现批次号
         */
        private String batchNo;
        /**
         * 清算日期,格式 YYYYMMDD
         */
        private String clearDate;
        /**
         * 勾兑日期,格式 YYYYMMDD
         */
        private String cmpDate;
        /**
         * 对账标记,0：未对账，1：已对账
         */
        private String comparison;
        /**
         * 交易手续费
         */
        private Integer feeTrans;
        /**
         * 提现手续费
         */
        private Integer feeTx;
        /**
         * 提现手续费收取类型
         * 提现手续费收取类型，0-外扣（打
         * 给商户钱是接口上送的提现金额
         * 字段值）、1-内扣（打给商户钱
         * 是接口上送的提现金额字段值减
         * 去提现手续费）
         */
        private Integer feeTxFlag;
        /**
         * 垫资提现手续费
         */
        private Integer feeTxT0;
        /**
         * 非垫资提现手续费
         */
        private Integer feeTxT1;
        /**
         * 接入方客户代码
         */
        private String insCode;
        /**
         * 商户 id
         */
        private String merId;
        /**
         * 商户名
         */
        private String merName;
        /**
         * 商户号
         */
        private String merNo;
        /**
         * 正交易订单号
         */
        private String merOrderId;
        /**
         * 提现 T0 金额
         */
        private Integer moneyTxT0;
        /**
         * 提现 T1 金额
         */
        private Integer moneyTxT1;
        /**
         * 实际提现净额
         */
        private Integer realMoneyTx;
        /**
         * 实际提现手续费
         */
        private Integer realfeeTx;
        /**
         * 退票日期
         */
        private String refundDate;
        /**
         * 附言
         */
        private String remark;
        /**
         * 退票原因
         */
        private String rtnReason;
        /**
         * 提现请求发送时间，格式 HHmmss
         */
        private String sndTime;
        /**
         * 0000：成功
         * 9000：处理中
         * 0001：退票
         */
        private String state;
        /**
         * 批次提现总金额
         * 如果是批量提现，此处金额为所
         * 有提现订单金额加总，单位分
         */
        private Integer totalAmt;
        /**
         * 总笔数
         */
        private Integer totalQty;
        /**
         * 交易商户号
         */
        private String transMid;
        /**
         * 提现金额 本单提现金额，单位分
         */
        private Integer txnAmt;
        /**
         * 提现请求易日期 格式 YYYYMMDD
         */
        private String txnDate;
        /**
         * 处理日期 格式 YYYYMMDD
         */
        private String workDate;
    }
}
